public class Visitor extends minisyysBaseVisitor<Void> {
    private double nodeValue = 0.0;

    @Override
    public Void visitFile(minisyysParser.FileContext ctx) {
        // 调用默认的 visit 方法即可
        return super.visitFile(ctx);
    }

    @Override
    public Void visitFunctionDefinition(minisyysParser.FunctionDefinitionContext ctx) {

        if(visit(ctx.type().INT())!=null){
            System.out.print("define dso_local i32 ");
        }else{
            System.exit(1);
        }
        if(visit(ctx.ID()).equals("main")){
            System.out.println("@main(){");
        }else{
            System.exit(1);
        }
        visit(ctx.functionBody());
        return null;
    }

    @Override
    public Void visitFunctionBody(minisyysParser.FunctionBodyContext ctx) {
        // 调用默认的 visit 方法即可
        if(visit(ctx.statement(1).retstatement().RETURN()).equals("return")){
            System.out.print("    ret i32 ");
        }else{
            System.exit(1);
        }
            System.out.println("1");
            System.out.print("}");
        return null;
    }
}
